class player extends eui.Component implements eui.UIComponent {
	public constructor() {
		super();
		// 该对象的皮肤属性
		this.skinName;
		// 当这个显示对象被添加到舞台上时触发
		this.addEventListener(egret.Event.ADDED_TO_STAGE, this.init, this)
	}

	protected partAdded(partName: string, instance: any): void {
		super.partAdded(partName, instance);
	}


	protected childrenCreated(): void {
		super.childrenCreated();
	}

	//  光盘的group
	public g1;
	//  按钮1
	public playbtn;

	// 动画名
	public playit;
	// 播放进度
	public pos;

	public song;

	public channel;

	//声明滑动组件
	public slider;
	// 组件初始化方法
	public init() {
		this.slider.addEventListener("touchEnd", function () {
			// 滑块的取值
			console.log(this.slider.pendingValue);
			//  计算歌曲的播放最新的位置  总长*百分比
			let p = this.song.length * (this.slider.pendingValue / 10)

			// 关闭声道
			this.channel.stop();
			// 音频从指定位置播放
			this.channel = this.song.play(p, 0)
			// 触摸结束之后重新监听帧事件 自动更新进度
			this.slider.addEventListener(egret.Event.ENTER_FRAME,this.refresh,this)

		}, this)


		//  将更新进度写入帧事件
		this.slider.addEventListener(egret.Event.ENTER_FRAME,this.refresh,this);

		// 当开始触摸的时候就移除自动更新进度
		this.slider.addEventListener("touchBegin",function(){
			// 移除监听更新的事件处理
			this.slider.removeEventListener(egret.Event.ENTER_FRAME,this.refresh,this)
		},this)

		// 加载音乐资源的sound对象

		this.song = RES.getRes("Justin_mp3");
		//  播放进度
		this.pos = 0;

		// 音乐播放生成的soundChannel对象
		// let channel;
		console.log(this.channel);

		this.playbtn.addEventListener("touchEnd", function () {
			console.log(this.playit);
			if (this.state != "playing") {
				// 播放动画			
				this.playit.play(0, 0.5);
				this.g1.addEventListener(egret.Event.ENTER_FRAME, this.g1Rotate, this)
				// 按钮的提示语
				this.playbtn.label = "暂停";

				// 音乐播放
				this.channel = this.song.play(this.pos, 1);
				// 监听播放完成
				this.channel.addEventListener(egret.Event.SOUND_COMPLETE, this.soundComplete, this)

				// 当前状态切换
				this.state = "playing";
			} else {
				this.g1.removeEventListener(egret.Event.ENTER_FRAME, this.g1Rotate, this)
				// 按钮的提示语
				this.playbtn.label = "播放";
				// 当前状态切换
				this.state = "pause";
				// 音频停止播放
				this.pos = this.channel.position;
				this.channel.stop();
			}

		}, this)
	}

	public g1Rotate() {
		this.g1.rotation += 5;
		// 更新进度
		this.slider.pendingValue = (this.channel.position / this.song.length) * 10;
	}

	public soundComplete() {
		this.pos = 0;
		this.song.play(this.pos, 0);

	}

	public refresh(){
		// 只有播放过channel才会为true，否则为false
		if(this.channel){
			// 更新进度
			this.slider.pendingValue = (this.channel.position / this.song.length)*10;
		}
	}
}